This invention relates generally to applications executed on computer systems and, more specifically, relates to field testing those applications.
This section is intended to provide a background or context to the invention disclosed below. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived, implemented or described. Therefore, unless otherwise explicitly indicated herein, what is described in this section is not prior art to the description in this application and is not admitted to be prior art by inclusion in this section.
Mobile-application market places are growing in size as developers quickly release software into a global market. As new categories of mobile-application categories are created, the phenomenon of being first to market within an application category is quickly replaced with competition among similar application offerings. It is only after an application receives positive reviews and ratings from multiple end users that a clear application category leader is defined. Feedback of this nature is subjective, typically describing a user's overall experience when interacting with an application. Developers determined to maximize impact of a mobile application require the ability to evaluate and analyze usage paradigms of an application prior to launch. This presents an ongoing challenge for developers and product owners: how can application usage be tested and analyzed beyond a merely subjective metric, so that remedial design/implementation actions can be taken prior to an application being made generally available?
Tools provided within Mobile Software Development Kits (Mobile SDKs) allow for a designer/developer to create top-level view containers and associated controls. Alternatively, developers can programmatically create view containers with custom layouts and controls, which equivalently are compiled into a format that is consumable by a targeted mobile device. Additionally, tools also exist to debug compiled applications, as well as to analyze unit tests of encapsulated functions within an application running in a ‘test’ mode. However, these approaches are limited in that they do not capture application usage focused towards the direct interaction with the user interface in real-world situations, typically referred to as ‘field testing’.
Such field testing, while useful, is typically limited to a number of so-called “beta testers”. Even a relatively simple software program can have many layouts and controls, and beta testers may not test all or many of the possible combinations of layouts and controls. Consequently, it would be beneficial to improve the testing of software programs.